package za.co.smartmi.model;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

public class Policyline implements Serializable
{
	/** 
	 * This attribute maps to the column policylineid in the policyline table.
	 */
	protected Integer policylineid;

	/** 
	 * This attribute maps to the column premium in the policyline table.
	 */
	protected BigDecimal premium;

	/** 
	 * This attribute maps to the column status in the policyline table.
	 */
	protected String status;

	/** 
	 * This attribute maps to the column startdate in the policyline table.
	 */
	protected Date startdate;

	/** 
	 * This attribute maps to the column enddate in the policyline table.
	 */
	protected Date enddate;

	/** 
	 * This attribute maps to the column csys in the policyline table.
	 */
	protected String csys;

	/** 
	 * This attribute maps to the column cdate in the policyline table.
	 */
	protected Date cdate;

	/** 
	 * This attribute maps to the column usys in the policyline table.
	 */
	protected String usys;

	/** 
	 * This attribute maps to the column udate in the policyline table.
	 */
	protected Date udate;

	/** 
	 * This attribute maps to the column policyid in the policyline table.
	 */
	protected Integer policyid;

	/** 
	 * This attribute maps to the column clientid in the policyline table.
	 */
	protected Integer clientid;

	/** 
	 * This attribute maps to the column productid in the policyline table.
	 */
	protected Integer productid;

	/** 
	 * This attribute maps to the column beneficiaryid in the policyline table.
	 */
	protected Integer beneficiaryid;

	/** 
	 * This attribute maps to the column repid in the policyline table.
	 */
	protected Integer repid;

	/**
	 * Method 'Policyline'
	 * 
	 */
	public Policyline()
	{
	}

	/**
	 * Method 'getPolicylineid'
	 * 
	 * @return Integer
	 */
	public Integer getPolicylineid()
	{
		return policylineid;
	}

	/**
	 * Method 'setPolicylineid'
	 * 
	 * @param policylineid
	 */
	public void setPolicylineid(Integer policylineid)
	{
		this.policylineid = policylineid;
	}

	/**
	 * Method 'getPremium'
	 * 
	 * @return BigDecimal
	 */
	public BigDecimal getPremium()
	{
		return premium;
	}

	/**
	 * Method 'setPremium'
	 * 
	 * @param premium
	 */
	public void setPremium(BigDecimal premium)
	{
		this.premium = premium;
	}

	/**
	 * Method 'getStatus'
	 * 
	 * @return String
	 */
	public String getStatus()
	{
		return status;
	}

	/**
	 * Method 'setStatus'
	 * 
	 * @param status
	 */
	public void setStatus(String status)
	{
		this.status = status;
	}

	/**
	 * Method 'getStartdate'
	 * 
	 * @return Date
	 */
	public Date getStartdate()
	{
		return startdate;
	}

	/**
	 * Method 'setStartdate'
	 * 
	 * @param startdate
	 */
	public void setStartdate(Date startdate)
	{
		this.startdate = startdate;
	}

	/**
	 * Method 'getEnddate'
	 * 
	 * @return Date
	 */
	public Date getEnddate()
	{
		return enddate;
	}

	/**
	 * Method 'setEnddate'
	 * 
	 * @param enddate
	 */
	public void setEnddate(Date enddate)
	{
		this.enddate = enddate;
	}

	/**
	 * Method 'getCsys'
	 * 
	 * @return String
	 */
	public String getCsys()
	{
		return csys;
	}

	/**
	 * Method 'setCsys'
	 * 
	 * @param csys
	 */
	public void setCsys(String csys)
	{
		this.csys = csys;
	}

	/**
	 * Method 'getCdate'
	 * 
	 * @return Date
	 */
	public Date getCdate()
	{
		return cdate;
	}

	/**
	 * Method 'setCdate'
	 * 
	 * @param cdate
	 */
	public void setCdate(Date cdate)
	{
		this.cdate = cdate;
	}

	/**
	 * Method 'getUsys'
	 * 
	 * @return String
	 */
	public String getUsys()
	{
		return usys;
	}

	/**
	 * Method 'setUsys'
	 * 
	 * @param usys
	 */
	public void setUsys(String usys)
	{
		this.usys = usys;
	}

	/**
	 * Method 'getUdate'
	 * 
	 * @return Date
	 */
	public Date getUdate()
	{
		return udate;
	}

	/**
	 * Method 'setUdate'
	 * 
	 * @param udate
	 */
	public void setUdate(Date udate)
	{
		this.udate = udate;
	}

	/**
	 * Method 'getPolicyid'
	 * 
	 * @return Integer
	 */
	public Integer getPolicyid()
	{
		return policyid;
	}

	/**
	 * Method 'setPolicyid'
	 * 
	 * @param policyid
	 */
	public void setPolicyid(Integer policyid)
	{
		this.policyid = policyid;
	}

	/**
	 * Method 'getClientid'
	 * 
	 * @return Integer
	 */
	public Integer getClientid()
	{
		return clientid;
	}

	/**
	 * Method 'setClientid'
	 * 
	 * @param clientid
	 */
	public void setClientid(Integer clientid)
	{
		this.clientid = clientid;
	}

	/**
	 * Method 'getProductid'
	 * 
	 * @return Integer
	 */
	public Integer getProductid()
	{
		return productid;
	}

	/**
	 * Method 'setProductid'
	 * 
	 * @param productid
	 */
	public void setProductid(Integer productid)
	{
		this.productid = productid;
	}

	/**
	 * Method 'getBeneficiaryid'
	 * 
	 * @return Integer
	 */
	public Integer getBeneficiaryid()
	{
		return beneficiaryid;
	}

	/**
	 * Method 'setBeneficiaryid'
	 * 
	 * @param beneficiaryid
	 */
	public void setBeneficiaryid(Integer beneficiaryid)
	{
		this.beneficiaryid = beneficiaryid;
	}

	/**
	 * Method 'getRepid'
	 * 
	 * @return Integer
	 */
	public Integer getRepid()
	{
		return repid;
	}

	/**
	 * Method 'setRepid'
	 * 
	 * @param repid
	 */
	public void setRepid(Integer repid)
	{
		this.repid = repid;
	}

	/**
	 * Method 'equals'
	 * 
	 * @param _other
	 * @return boolean
	 */
	public boolean equals(Object _other)
	{
		if (_other == null) {
			return false;
		}
		
		if (_other == this) {
			return true;
		}
		
		if (!(_other instanceof Policyline)) {
			return false;
		}
		
		final Policyline _cast = (Policyline) _other;
		if (policylineid == null ? _cast.policylineid != policylineid : !policylineid.equals( _cast.policylineid )) {
			return false;
		}
		
		if (premium == null ? _cast.premium != premium : !premium.equals( _cast.premium )) {
			return false;
		}
		
		if (status == null ? _cast.status != status : !status.equals( _cast.status )) {
			return false;
		}
		
		if (startdate == null ? _cast.startdate != startdate : !startdate.equals( _cast.startdate )) {
			return false;
		}
		
		if (enddate == null ? _cast.enddate != enddate : !enddate.equals( _cast.enddate )) {
			return false;
		}
		
		if (csys == null ? _cast.csys != csys : !csys.equals( _cast.csys )) {
			return false;
		}
		
		if (cdate == null ? _cast.cdate != cdate : !cdate.equals( _cast.cdate )) {
			return false;
		}
		
		if (usys == null ? _cast.usys != usys : !usys.equals( _cast.usys )) {
			return false;
		}
		
		if (udate == null ? _cast.udate != udate : !udate.equals( _cast.udate )) {
			return false;
		}
		
		if (policyid == null ? _cast.policyid != policyid : !policyid.equals( _cast.policyid )) {
			return false;
		}
		
		if (clientid == null ? _cast.clientid != clientid : !clientid.equals( _cast.clientid )) {
			return false;
		}
		
		if (productid == null ? _cast.productid != productid : !productid.equals( _cast.productid )) {
			return false;
		}
		
		if (beneficiaryid == null ? _cast.beneficiaryid != beneficiaryid : !beneficiaryid.equals( _cast.beneficiaryid )) {
			return false;
		}
		
		if (repid == null ? _cast.repid != repid : !repid.equals( _cast.repid )) {
			return false;
		}
		
		return true;
	}

	/**
	 * Method 'hashCode'
	 * 
	 * @return int
	 */
	public int hashCode()
	{
		int _hashCode = 0;
		if (policylineid != null) {
			_hashCode = 29 * _hashCode + policylineid.hashCode();
		}
		
		if (premium != null) {
			_hashCode = 29 * _hashCode + premium.hashCode();
		}
		
		if (status != null) {
			_hashCode = 29 * _hashCode + status.hashCode();
		}
		
		if (startdate != null) {
			_hashCode = 29 * _hashCode + startdate.hashCode();
		}
		
		if (enddate != null) {
			_hashCode = 29 * _hashCode + enddate.hashCode();
		}
		
		if (csys != null) {
			_hashCode = 29 * _hashCode + csys.hashCode();
		}
		
		if (cdate != null) {
			_hashCode = 29 * _hashCode + cdate.hashCode();
		}
		
		if (usys != null) {
			_hashCode = 29 * _hashCode + usys.hashCode();
		}
		
		if (udate != null) {
			_hashCode = 29 * _hashCode + udate.hashCode();
		}
		
		if (policyid != null) {
			_hashCode = 29 * _hashCode + policyid.hashCode();
		}
		
		if (clientid != null) {
			_hashCode = 29 * _hashCode + clientid.hashCode();
		}
		
		if (productid != null) {
			_hashCode = 29 * _hashCode + productid.hashCode();
		}
		
		if (beneficiaryid != null) {
			_hashCode = 29 * _hashCode + beneficiaryid.hashCode();
		}
		
		if (repid != null) {
			_hashCode = 29 * _hashCode + repid.hashCode();
		}
		
		return _hashCode;
	}

	/**
	 * Method 'createPk'
	 * 
	 * @return PolicylinePk
	 */
	public PolicylinePk createPk()
	{
		return new PolicylinePk(policyid, clientid, productid);
	}

	/**
	 * Method 'toString'
	 * 
	 * @return String
	 */
	public String toString()
	{
		StringBuffer ret = new StringBuffer();
		ret.append( "za.co.smartmi.dto.Policyline: " );
		ret.append( "policylineid=" + policylineid );
		ret.append( ", premium=" + premium );
		ret.append( ", status=" + status );
		ret.append( ", startdate=" + startdate );
		ret.append( ", enddate=" + enddate );
		ret.append( ", csys=" + csys );
		ret.append( ", cdate=" + cdate );
		ret.append( ", usys=" + usys );
		ret.append( ", udate=" + udate );
		ret.append( ", policyid=" + policyid );
		ret.append( ", clientid=" + clientid );
		ret.append( ", productid=" + productid );
		ret.append( ", beneficiaryid=" + beneficiaryid );
		ret.append( ", repid=" + repid );
		return ret.toString();
	}

}
